home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TeX 1995 July
/
TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO
/
macros
/
latex209
/
contrib
/
pphlp
/
pphlp.com
(
.txt
)
< prev
next >
Wrap
LaTeX Document
|
1993-01-11
|
6KB
|
146 lines
$ !!! ======================================================================
$ !!! @VAX-VMS-shell{
$ !!! filename = "pphlp.com",
$ !!! version = "1.0",
$ !!! date = "19 July 1992",
$ !!! time = "14:05:50.47 ",
$ !!! author = "Norman Gray",
$ !!! address = "Department of Physics
$ !!! Open University
$ !!! Milton Keynes
$ !!! MK7 6AA, UK",
$ !!! e-mail = "N.O.Gray@open.ac.uk (Internet)",
$ !!! telephone = "+44 908 652279",
$ !!! FAX = "+44 908 653744",
$ !!! archived = "Aston, SHSU",
$ !!! keywords = "hlp-files, VMS, help",
$ !!! abstract = "This file is part of the PPHLP package, which
$ !!! allows both printed manuals and VMS help library
$ !!! modules to be prepared from a single file.",
$ !!! codetable = "ISO/Ascii",
$ !!! checksum = "22288 163 899 6257",
$ !!! docstring = "This is the DCL com-file which drives the PPhlp
$ !!! package. It does so by parsing the command line
$ !!! and the input file specifications, and preparing a
$ !!! file pphlpdefs.tex, which is read in during the
$ !!! next stage, when this file LaTeX's the principal
$ !!! file, pphlp.tex. It finally renames the files
$ !!! pphlp.dvi and pphlp.lis to match the name of the
$ !!! original .hlp file.
$ !!!
$ !!! The checksum field above contains a CRC-16
$ !!! checksum as the first value, followed by the
$ !!! equivalent of the standard UNIX wc (word
$ !!! count) utility output of lines, words, and
$ !!! characters. This is produced by Robert
$ !!! Solovay's checksum utility."
$ !!! }
$ !!! ======================================================================
$!+ This procedure will prettyprint an |.hlp| file by \LaTeX ing the file
$! |pphlp.tex|.
$! The only parameter is the name of the file to be set---the routine first
$! searches for a file with extension |.help|, then for |.hlp|.
$! Information is passed to |pphlp.tex| via the file |pphlpdefs.tex|, which
$! supplies the documentstyle, and has the following definitions:
$! \medskip
$! \begin{tabular}{lp{4in}}
$! |\pphlpstyleoptions & The style options to be used.\\
$! |\pphlpname| & The full file name, including version number.\\
$! |\pphlphead| & The bare file name, without directory and extension. \\
$! |\pphlpextra| & Any extra information which might be of use. This isn't
$! currently used. \\
$! |\pphlppreamble|& Commands to go in the preamble.
$! \end{tabular}
$! When this com file is invoked, extra documentstyle options may be provided
$! by prefixing them on the command line with a hyphen, so that
$! \begin{center}\tt
$! pphlp -acsfigs,twocolumn helpfile
$! \end{center}
$! would set the file |helpfile.hlp| with the |[twoside,acsfigs,twocolumn]|
$! options.
$! Also, commands may be inserted into the preamble, by prefixing them with a
$! plus sign, so that
$! \begin{center}\tt
$! pphlp +\makeindex helpfile
$! \end{center}
$! would insert the |\makeindex| command into the preamble.
$! Finally, extra qualifiers may be added to the LaTeX command.
$! \medskip
$ source_dir := phut:[util.local.pphlp]
$ param = 0
$! docopts = "twoside"
$ docopts = ""
$ preamble = ""
$ quals = ""
$ fname_p = ""
$ parse_loop:
$ param = param + 1
$ if p'param .eqs. "" then goto finished_parse
$ ch1 = f$extract (0,1,p'param)
$ if ch1 .eqs. "-"
$ then
$ if docopts .eqs. ""
$ then
$ docopts = f$edit (f$extract (1,99,p'param), "lowercase")
$ else
$ docopts = docopts + "," + -
f$edit (f$extract (1,99,p'param), "lowercase")
$ endif
$ else
$ if ch1 .eqs. "+"
$ then
$ preamble = preamble + -
f$edit (f$extract (1,99,p'param), "lowercase") + " "
$ else
$ if ch1 .eqs. "/"
$ then
$ quals = quals + p'param
$ else
$ fname_p = p'param
$ endif
$ endif
$ endif
$ goto parse_loop
$ finished_parse:
$ if fname_p .eqs. "" then inquire fname_p "Which file? "
$ fname = f$search (f$parse (fname_p,".help")) ! check it exists, and fill in version number
$ if fname .eqs. ""
$ then
$ fname = f$search (f$parse (fname_p,".hlp"))
$ if fname .eqs. ""
$ then
$ write sys$output f$fao ("File !AS not found.", -
f$parse (fname_p,".hlp",,,"syntax_only")) ! doesn't check dir'y exists
$ exit
$ endif
$ endif
$ outfilename = f$parse (fname,,,"name") ! just filename
$ open/write argfile pphlpdefs.tex
$ write argfile "{\catcode`\$=11 \catcode`\_=11" ! so we can read in ...
$ if docopts .nes. "" then -
write argfile f$fao ("\gdef\pphlpstyleoptions{!AS}", docopts)
$ write argfile f$fao ("\gdef\pphlpname{!AS}", -
f$edit (fname, "lowercase")) ! full file name
$ write argfile f$fao ("\gdef\pphlphead{!AS}", -
f$edit (outfilename, "lowercase")) ! file name
$ write argfile f$fao ("\gdef\pphlpextra{last revised !AS}", -
f$file(fname,"cdt")) ! file creation date
$ if preamble .nes. "" then -
write argfile f$fao ("\gdef\pphlppreamble{!AS}", preamble)
$ write argfile "}"
$ close argfile
$ define/user sys$input sys$command
$ on error then continue
$ latex 'source_dir'pphlp 'quals' ! which reads in |prettydefs.tex|
$ rename/nolog pphlp.dvi,.lis 'outfilename
$ delete/noconfirm/nolog pphlpdefs.tex;*
$! +Only the |.dvi| and |.lis| files are renamed---the |.aux| is left as it
$! is. If there are cross-references within the prettyprinted file, then the
$! |.aux| file containing them must be called |pphlp.aux| if \LaTeX\ is to
$! find it. \-
$ write sys$output ""
$ write sys$output "Output written on ",f$parse(outfilename,".DVI")
$ write sys$output "Transcript written on ",f$parse(outfilename,".LIS")
$ write sys$output ""
$ EXIT